const totalWidth = 200; // 总宽度
const negativeWidth = 100; // 负半轴宽度
const positiveWidth = totalWidth - negativeWidth; // 正半轴宽度

// 计算进度条宽度
const progressWidth = Math.min(Math.max(-30, -totalWidth / 2), totalWidth / 2) * 2;

const min = -50
const max = 100

const width = max - min;

const value = 50

option = {
  graphic: [
    {
      type: 'group',
      left: 'center',
      top: 'center',
      children: [
        // 负半轴部分
        {
          type: 'rect',
          shape: {
            x: 0,  // 负半轴的起点
            y: 0,
            width: width * 2,  // 负半轴的宽度
            height: 20,
            r: [10, 10, 10, 10]  // 圆角设置
          },
          style: {
            fill: '#05050F'
          },
          z: 0
        },
        // 进度条
        {
          type: 'rect',
          shape: {
            x: Math.abs(min) * 2,
            y: 0,
            width: value * 2,  // 进度条的宽度
            height: 20,
            r: value > 0 ? [0, 10, 10, 0] : [10, 0, 0, 10]
          },
          style: {
            fill: '#ff0000'
          },
          z: 1
        },
        {
          type: 'text',
          shape: {
            x: 0,
            y: 0
          },
          style: {
            text: value + '%',
            font: '16px Arial',
            textAlign: 'center',
            textVerticalAlign: 'middle'
          },
          z: 2
        },
        
      ]
    }
  ]
};